package item.entity.service;

import config.Item.Item;
import player.entity.service.RepositoryService;
import share.item.GridItem;
import share.position.Position;

import java.util.ArrayList;
import java.util.List;

public class ItemService {
    private RepositoryService repositoryService;
    // 物品位置交换
    public boolean swapItems(Position pos1, Position pos2) {
//        GridItem item1 = getItemAt(pos1);
//        GridItem item2 = getItemAt(pos2);
//
//        if (item1 == null && item2 == null) return false;
//
//        // 临时移除物品
//        if (item1 != null) repositoryService.removeItem(item1.item.getId());
//        if (item2 != null) removeItem(item2.item.getId());
//
//        // 重新放置
//        if (item1 != null && !placeItem(item1.item, pos2.getX(), pos2.getY())) {
//            // 回滚
//            if (item1 != null) placeItem(item1.item, pos1.getX(), pos1.getY());
//            return false;
//        }
//        if (item2 != null && !placeItem(item2.item, pos1.getX(), pos1.getY())) {
//            // 回滚
//            if (item1 != null) removeItem(item1.item.getId());
//            if (item2 != null) placeItem(item2.item, pos2.getX(), pos2.getY());
//            return false;
//        }

        return true;
    }



    /**
     * 获取指定位置上的所有物品（适用于可重叠系统）
     */
    public List<Item> getItemsAt(Position position) {
        List<Item> result = new ArrayList<>();

//        for (GridItem gridItem : items.values()) {
//            if (isPositionCovered(gridItem, position)) {
//                result.add(gridItem.item);
//            }
//        }

        return result;
    }
}
